Implementing Large-scale Parallel Geophysical Algorithms Using the Java Programming Language a Feasibility Study
نویسنده
چکیده
Memory and time requirements of seismic calculations demand parallel implementations. One of the most widespread languages applied to this area is Fortran. It includes optimized functionality for scienti c computing. Unfortunately in Fortran, parallel program code is often error prone and lacks maintainability, reusabililty, and portability if Message Passing approaches are used. On the other hand Java contains parallel language constructs, provides portability, and demands strict object-orientation. These standard features of Java implicate superiority to Fortran in parallel computing. Unfortunately Java has reputation of poor performance. This study examines applicability of Java towards seismic computations. Two basic seismic operators, Velocity Analysis and Kirchho Migration, are implemented with Java in parallel. On an IBM SP/2 { one of the fastest emerging platforms for seismic processing { the maximal slowdown factor measured is always below 3. In some cases performance measurements even reach Fortran performance. These results show Java's applicability for seismic computations. Furthermore future Java releases exploiting more sophisticated compilation techniques focus only on further performance improvements. Thus they could eliminate Fortran's last superiority to Java almost completely. Acknowledgments This thesis has been supported by a diploma grant of the Prof. Dr.{Ing. Erich M uller Stiftung, Essen, Germany. I would like to thank Mobil Oil Corp. for supplying the marine AVO dataset which was used in this study. Furthermore, I want to express gratitude to the JavaParty group, especially Matthias Zenger, for their support. Matthias Schwab of the Stanford Exploration Project designed and provided the geophysical framework JAG. I would like to thank Maui High Performance Computing Center and the Computing Center of Karlsruhe University for the granting access on the IBM SP/2. 1
منابع مشابه
Large-scale parallel geophysical algorithms in Java: a feasibility study
Java is often accused of being too slow for serious programming, especially for scienti c problem solving. However, we found that for a large-scale geophysical application, Java code compiled with current just-intime compilers runs slower than Fortran by a factor of at most four, on both a shared-memory parallel machine (SGI Origin2000) and a distributed-memory parallel machine (IBM SP/2). The ...
متن کاملParallelizing Large-Scale Geophysical Applications in Java
Within Geophysics, seismic methods are an essential tool for petroleum and gas exploration. They produce images of the earth's interior and let explorationists analyze the geological structure of the underground. The memory and time requirements of seismic calculations suggest parallel implementations. In Fortran, however, parallel program code often not only lacks maintainability and reusabili...
متن کاملBSPlib Java Interface for Parallel Scientific Computing Applications
This work presents a Java interface to a native BSPlib library for implementing parallel algorithms in a structured way (as described by the BSP model), using the Java programming language. To compare the created library to existing parallel programming solutions, a typical physics simulation application is created. It employs the parallel conjugate gradient method for solving systems of linear...
متن کاملImplementing a JavaTM Virtual Machine in the Java Programming Language
JavaInJava is a Java virtual machine written in the JavaTM programming language. The system was built at Sun Microsystems Laboratories in order to examine the feasibility of constructing high-quality virtual machines using the Java programming language and to experiment with new virtual machine implementation techniques. In this paper we describe the overall architecture of JavaInJava and summa...
متن کاملPerformance of an Infrastructure for Worldwide Parallel Computing
The millions of Java-capable computers on the Internet provide the hardware needed for a national and international computing infrastructure, a virtual parallel computer that can be tapped for many uses. To date, however, little is known about the cost and feasibility of building and maintaining such global, large scale structures. In this work, we evaluate the performance of a Java/WWW-based i...
متن کامل